Avoid warnings if gtk_widget_reparent() is called at unusual times.
authorMatthias Clasen <mclasen@redhat.com>
Thu, 3 Mar 2005 06:40:53 +0000 (06:40 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Thu, 3 Mar 2005 06:40:53 +0000 (06:40 +0000)
2005-03-03  Matthias Clasen  <mclasen@redhat.com>

* gtk/gtkwidget.c (gtk_widget_reparent_subwindows):
Avoid warnings if gtk_widget_reparent() is called at
unusual times.  (#168966, Christian Persch)

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-8
gtk/gtkwidget.c

index 3a218dd9d2b3dfa5b348f2cc7c39884db13ffb31..4f08c210aabcf0e6501f6346bae4ba47b488f64c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2005-03-03  Matthias Clasen  <mclasen@redhat.com>
+
+       * gtk/gtkwidget.c (gtk_widget_reparent_subwindows): 
+       Avoid warnings if gtk_widget_reparent() is called at
+       unusual times.  (#168966, Christian Persch)
+
 Tue Mar  1 14:04:08 2005  Manish Singh  <yosh@gimp.org>
 
        * gdk/x11/gdkproperty-x11.c (virtual_atom_check_init): Cast to avoid
index 3a218dd9d2b3dfa5b348f2cc7c39884db13ffb31..4f08c210aabcf0e6501f6346bae4ba47b488f64c 100644 (file)
@@ -1,3 +1,9 @@
+2005-03-03  Matthias Clasen  <mclasen@redhat.com>
+
+       * gtk/gtkwidget.c (gtk_widget_reparent_subwindows): 
+       Avoid warnings if gtk_widget_reparent() is called at
+       unusual times.  (#168966, Christian Persch)
+
 Tue Mar  1 14:04:08 2005  Manish Singh  <yosh@gimp.org>
 
        * gdk/x11/gdkproperty-x11.c (virtual_atom_check_init): Cast to avoid
index 3a218dd9d2b3dfa5b348f2cc7c39884db13ffb31..4f08c210aabcf0e6501f6346bae4ba47b488f64c 100644 (file)
@@ -1,3 +1,9 @@
+2005-03-03  Matthias Clasen  <mclasen@redhat.com>
+
+       * gtk/gtkwidget.c (gtk_widget_reparent_subwindows): 
+       Avoid warnings if gtk_widget_reparent() is called at
+       unusual times.  (#168966, Christian Persch)
+
 Tue Mar  1 14:04:08 2005  Manish Singh  <yosh@gimp.org>
 
        * gdk/x11/gdkproperty-x11.c (virtual_atom_check_init): Cast to avoid
index 3a4f76bd85f9cf476c7dfa7edc7d653f7e81bad9..29ee934a9e7457c2b32f55e9f66f2517081cc43f 100644 (file)
@@ -3730,21 +3730,27 @@ gtk_widget_reparent_subwindows (GtkWidget *widget,
     }
   else
    {
-     GdkWindow *parent = gdk_window_get_parent (widget->window);
+     GdkWindow *parent;
+     GList *tmp_list, *children;
 
-     GList *children = gdk_window_get_children (parent);
-     GList *tmp_list;
-     for (tmp_list = children; tmp_list; tmp_list = tmp_list->next)
-       {
-        GtkWidget *child;
-        GdkWindow *window = tmp_list->data;
+     parent = gdk_window_get_parent (widget->window);
 
-        gdk_window_get_user_data (window, (void **)&child);
-        if (child == widget)
-          gdk_window_reparent (window, new_window, 0, 0);
+     if (parent)
+       {
+        children = gdk_window_get_children (parent);
+        
+        for (tmp_list = children; tmp_list; tmp_list = tmp_list->next)
+          {
+            GtkWidget *child;
+            GdkWindow *window = tmp_list->data;
+            
+            gdk_window_get_user_data (window, (void **)&child);
+            if (child == widget)
+              gdk_window_reparent (window, new_window, 0, 0);
+          }
+        
+        g_list_free (children);
        }
-
-      g_list_free (children);
    }
 }